var mongoose = require('mongoose');
var db = require('../config/db.js');
var Schema = mongoose.Schema;

//用户表
var UserSchema = new Schema({
	name:{type:String},//用户名
	psw:{type:String},//密码
	email:{type:String},//邮箱
	sex:{type:String,default:'asexual'},//性别
	birth:{type:Date},//生日
	phone:{type:Number},//电话
	explain:{type:String},//介绍
	imgurl:{type:String,default:'user.png'},//头像
	register:{type:Date},//注册时间
});

//好友表
var FriendSchema = new Schema({
	userID:{type:Schema.Types.ObjectID,ref:'users'},//用户id
	friendID:{type:Schema.Types.ObjectID,ref:'users'},//好友id
	state:{type:Number},//好友状态（0为好友，1为为申请中，2为拒绝）
	markname:{type:String},//好友昵称
	time:{type:Date},//申请时间
});

//一对一消息表
var MessageSchema = new Schema({
	userID:{type:Schema.Types.ObjectID,ref:'users'},//用户id
	friendID:{type:Schema.Types.ObjectID,ref:'users'},//好友id
	message:{type:String},//内容
	type:{type:String},//内容类型（0文字，1图片）
	time:{type:Date},//发送时间
	state:{type:Number}//消息状态（0已读，1未读）
});

//群表
var GroupSchema = new Schema({
	userID:{type:Schema.Types.ObjectID,ref:'users'},//群主id
	name:{type:String},//群名称
	imgurl:{type:String,default:'group.png'},//群头像
	notice:{type:String},//公告
	time:{type:Date},//创建时间
});

//群成员表
var GroupUserSchema = new Schema({
	groupID:{type:Schema.Types.ObjectId,ref:'Group'},//群id
	userID:{type:Schema.Types.ObjectID,ref:'users'},//用户id
	name:{type:String},//群内名称
	tip:{type:Number,default:0},//未读消息数
	shield:{type:Number},//是否屏蔽群消息（0不屏蔽，1屏蔽）
	time:{type:Date},//加入时间
});

//群消息表
var GroupMsgSchema = new Schema({
	groupID:{type:Schema.Types.ObjectId,ref:'Group'},//群id
	userID:{type:Schema.Types.ObjectID,ref:'users'},//发送用户id
	message:{type:String},//内容
	type:{type:String},//内容类型（0文字，1图片）
	time:{type:Date},//发送时间
});
module.exports = db.model('users',UserSchema)
module.exports = db.model('friend',FriendSchema)
module.exports = db.model('message',MessageSchema)
module.exports = db.model('group',GroupSchema)
module.exports = db.model('groupUser',GroupUserSchema)
module.exports = db.model('groupMsg',GroupMsgSchema)
